package com.zy.business.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zy.business.domain.TbPunchCard;
import com.zy.common.core.domain.AjaxResult;
import com.zy.common.core.domain.entity.SysUser;
import com.zy.common.core.page.TableDataInfo;

import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 文件信息表
 * 服务实现类
 * </p>
 *
 * @author stylefeng
 * @since 2018-12-07
 */
public interface PunchCardService extends IService<TbPunchCard> {

    List<TbPunchCard> getList();

    List<Map<String, Object>> getListByDate(Long userId, String date);

    List<Map<String, Object>> getListByDateRemind();

    TbPunchCard getLastPunchCard(String userId);

    Map<String, Object> getCurrentRecord(Long userId);

    AjaxResult sendMessage(String openid, String remarkStr);

    AjaxResult sendSuccessMessage(TbPunchCard punchCard);

    List<Map<String, Object>> getUserMonthData(String month, Long userId);

    TableDataInfo getDeptAttendance(String month, String name);

    List<TbPunchCard> getByStatus(Integer status,Integer state,Integer isRemind);

    void exportReport(String beginDate, String endDate, HttpServletResponse response);

    void exportPunchCard(String beginDate, String endDate, HttpServletResponse response);

    List<Map<String, Object>> selectTodayAttendance(SysUser user);
}
